How to Use
🔗 https://github.com/Carina-labs/nova-simulator
written in Python
$ python simulator/<simulator_type>/run.py
For example, run python simulator/supernova/run.py to simulate All Supernova features.
simulator_types:
- Base: 
base(including batch withdraw) - Adjustable Init Share: 
init_share - Lazy Minting: 
lazy_minting - Supernova: 
supernova(all features) 
Supernova Features​
Batch withdraw: See the whitepaper for details.
Lazy minting: See the whitepaper for details.
Batch delegate: When depositing wAssets; IBC transfer first, then delegate later by bot.
Lazy burn: Request
burn snAssetat time . The protocol will burn it at time .
Console Mode​
$ python simulator/<simulator_type>/run.py --console
For example,
$ python simulator/base/run.py --console
> H
Cosmos Commands
  [N]nextblock(Cosmos)          [#_of_blocks]
Supernova Commands
  [M]mint_wAsset                <account> <amount>
  [B]balance(wsnAsset)          <account>
  [S]balance(snAsset)           <account>
  [T]transfer                   <from> <to> <amount>
Supernova User Commands
  [D]deposit                    <account> <amount>
  [U]undelegate                 <account> <amount>
  [W]withdraw                   <account>
Supernova Keeper&Bot Commands
  [V]undelegate(Bot)
  [K]withdraw(Bot)
  [C]compound
  [O]oracle
Simulator Commands
  [1]quit
  [#]comment                    [comment]
  [--mute|-M]mute
Pipeline Mode​
$ python simulator/<simulator_type>/run.py [< <input_file>] [> <output_file>]
- input: 
inputfile - output: 
outputfile - answer: 
resultfile 
For example,
$ python simulator/base/run.py < tests/base/test_liquid_input > tests/base/test_liquid_output
$ diff tests/base/test_liquid_result tests/base/test_liquid_output